package cn.exrick.xboot.base.service

import cn.exrick.xboot.base.entity.EnterpriseUser
import cn.exrick.xboot.base.vo.EnterpriseUserDetailVo
import cn.exrick.xboot.base.vo.EnterpriseUserListVo
import cn.exrick.xboot.base.vo.EnterpriseUserStatistics
import cn.exrick.xboot.base.vo.MyCompanyInfoVo
import cn.exrick.xboot.core.common.vo.Result
import com.baomidou.mybatisplus.extension.service.IService

/**
 * 企业用户接口
 * @author Fei
 */
interface IEnterpriseUserService : IService<EnterpriseUser?> {


    /**
     * 企业提交申请
     */
    fun insertCompanyInfo(enterpriseUser: EnterpriseUser, code: String?, checkUserId: String): Result<Any?>?


    /**
     * 获取我提交的企业申请
     */
    fun getMyCompanyInfo(): Result<MyCompanyInfoVo>?

    /**
     * 获取企业列表详情
     */
    fun getEnterpriseUserVo(id: String): EnterpriseUserListVo?

    /**
     * 获取企业详情
     */
    fun getEnterpriseDetail(id: String): Result<EnterpriseUserDetailVo?>?

    /**
     * 获取企业统计信息
     */
    fun getEnterpriseStatistics(id: String): EnterpriseUserStatistics?



    /*-------------------辅助类----------------------------*/

    /**
     * 根据id获取企业名字
     */
    fun getEnterpriseNameById(id: String?): String?

    /**
     * 通过用户id获取企业id
     */
    fun getEnterpriseIdByUserId(): String

    /**
     * 获取同级所有企业的id
     */
    fun getEnterpriseIdByAreaId(areaId: String): MutableList<String>?

    /**
     * 根据员工id获取企业id
     */
    fun getEnterpriseIdByEmployeeUserId(employeeUserId: String?): String?

}
